<?php
declare (strict_types = 1);

namespace app\admin\controller;

use think\facade\View;

class Index
{
    public function index()
    {
        View::assign("title",'后台首页-index');
        //【模板赋值】
        //赋值标量  (字符串,整型，浮点，布尔值)   is_scalar()  判断标量
        //View::assign('title',123);//输出写法   {$title}
       // var_dump(is_scalar(false));
       //赋值一维数组
        $arr=[1,2,3,4];//一维数组
        $arr1=['name'=>'唐僧','age'=>28];//关联数组
        View::assign('arr',$arr);        //{$arr[0]}--{$arr.3}

        View::assign('arr1',$arr1);      //{$arr1['name']}--{$arr1.age}
        //赋值多维数组
        $arr3=[
            ['id'=>1,'name'=>'tangseng'],
            ['id'=>2,'name'=>'wukong'],
            ['id'=>3,'name'=>'wuneng'],
            ['id'=>4,'name'=>'wujing'],
        ];
        View::assign("arr3",$arr3);     //{$arr3.0.id}=={$arr3[2]['name']}
        //赋值对象
        $obj=new \stdClass();
        $obj->id=5;
        $obj->name='xiyouji';
        View::assign('obj',$obj);     //{$obj->id}=={$obj:name}

        //批量赋值
        $arr4=['name'=>'唐僧','age'=>28];//关联数组
        View::assign($arr4);
        View::assign(['name'=>'唐僧','age'=>28]);      //{$name}=={$age}
        //模板注释   模板标签内用  //单行注释     /*  */  多行注释     {//name} == {//$age}

        //模板原样输出
//        {literal}
//
//           {$name}
//
//         {/literal}


        //模板中使用函数
        $name='666';
        View::assign('name',$name);    //{$name|md5|substr=0,2}
        //函数的执行顺序  从前到后执行    对应的PHP原生是从里到外
        //用冒号：写法  执行嵌套的顺序
//        {:md5($name)}
//        {:url()}



        //三元运算
        View::assign("value",true);

        //【模板内置标签】
        //循环标签foreach|volist|for
        $arr5=[
            ['id'=>1,'name'=>'tangseng'],
            ['id'=>2,'name'=>'wukong'],
            ['id'=>3,'name'=>'wuneng'],
            ['id'=>4,'name'=>'wujing'],
            ['id'=>5,'name'=>'baigujing'],
            ['id'=>6,'name'=>'nverguo'],
            ['id'=>7,'name'=>'yujing'],
            ['id'=>8,'name'=>'laohuo'],
        ];
         View::assign("arr5",$arr5);
         View::assign("name",1);
       return View::fetch();

    }

}
